Theo Marsh

About

I am Theo. I design and build developer tools, which mostly means I spend my days on the parts of software that other people have to use in order to do their real work.

I came at it sideways. I trained as a graphic designer, spent two years in an agency setting type for things I did not believe in, and learned to program because a print job needed four hundred variations and I was not going to make them by hand. That is still roughly how I decide what to build: something is tedious, the tedium has a shape, and the shape can be described to a computer.

What I care about

Tools that are small enough to understand completely. Interfaces that tell you the truth about what they are doing. Software you can still open in ten years because it did not need a server. None of that is a philosophy — it is just what I have found to be true after shipping enough things that were none of those and watching them rot.

This site

Everything here is written by hand and generated by Halfmoon, which is six hundred lines of Go I can read in an afternoon. There is no analytics, no newsletter, and no comment section. If something here is wrong or useful, tell me — the address is on the homepage.

The short version

Now
Design engineer at Foldwork, on the tools our own team uses every day.
Before
Six years at Marrow building the design system, and two before that in an agency I learned the most from and would not repeat.
Teaching
A short course on reading unfamiliar codebases, run twice a year for people changing jobs.
Writing
Here, monthly-ish. Occasionally somewhere else, and always linked from here when it happens.
Away from a screen
Long walks with a paper map, a slow allotment, and an ongoing argument with a sourdough starter.

Elsewhere

Email is the one I actually read.